package com.brightworks.scripthelper.analyzers
{
    import com.brightworks.scripthelper.constants.LineTypeConstants;
    import com.brightworks.util.Log;

    public class LineTypeAnalyzer_Chunk_Note extends LineTypeAnalyzer
    {
        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
        //
        //          Getters & Setters
        //
        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
        
        public static function get lineTypeDescription():String
        {
            return LineTypeConstants.LINE_TYPE_DESCRIPTION__CHUNK__NOTE;
        }
        
        public static function get lineTypeId():String
        {
            return LineTypeConstants.LINE_TYPE_ID__CHUNK__NOTE;
        }
        
        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
        //
        //          Public Methods
        //
        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
        
        public function LineTypeAnalyzer_Chunk_Note()
        {
            super();
            bIsChunkLine = true;
        }
        
        override public function getProblemReports():Array
        {
            var problemList:Array = [];
            if (lineText.indexOf("Note: ") != 0)
                problemList.push('Based on its position as the 4th line in a chunk, this line should be a note line. Note lines should start with "Note: ". This line does not start with "Note: ".');
            return constructFullProblemStrings(problemList);
        }
        
        public static function isLineThisType(lineString:String, lineStringList:Array=null, lineNum:int=-1):Boolean
        {   
            // We use another, external, method to determine this at this point, so this method isn't used.
            Log.fatal("LineTypeAnalyzer_Chunk_Note.isLineThisType(): Method not implemented");
            return false;
        }

        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
        //
        //          Private Methods
        //
        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
        
    }
}